home *** CD-ROM | disk | FTP | other *** search
/ Softline PAY-CD / Softline PAY-CD(1994).iso / programm / splice / demo / disk1 / setup.mst < prev    next >
Encoding:
Text File  |  1993-11-18  |  9.5 KB  |  296 lines

  1. '**************************************************************************
  2. '*                  SPLICE! v2.0 Beta-2 Setup
  3. '**************************************************************************
  4. '$INCLUDE 'setupapi.inc'
  5. '$INCLUDE 'mscpydis.inc'    ''System
  6. '$INCLUDE 'msdetect.inc'    ''Detects Avalilable Disk Space
  7.  
  8. ''Dialog ID's
  9. CONST WELCOME       = 100
  10. CONST ASKQUIT       = 200
  11. CONST DESTPATH      = 300
  12. CONST EXITFAILURE   = 400
  13. CONST EXITQUIT      = 600
  14. CONST EXITSUCCESS   = 700
  15. CONST APPHELP       = 900
  16. CONST CHECK         = 2500
  17. CONST SMALLWIN      = 2200
  18. CONST RESTART       = 2600
  19. CONST RESTARTII     = 2700
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL SizeReq&  '' Total Disk Size required for installation
  25.  
  26. ''File Types
  27. GLOBAL WinDir$
  28. GLOBAL WinSysDir$
  29. GLOBAL WINDRIVE$    ''Windows Drive Letter.
  30. GLOBAL CHECKSTATES$
  31.  
  32. DECLARE SUB Install
  33. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  34. DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
  35. DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
  36. DECLARE SUB Reboot LIB "iniupd.dll"
  37. DECLARE fUNCTION ExitWindowsExec  LIB "User" (Exec$, Param$) AS INTEGER
  38.  
  39. INIT:
  40.   
  41.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  42.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  43.     
  44.     WIN32ENABLED% = 0
  45.     MajorVer% = GetWindowsMajorVersion()
  46.     MinorVer% = GetWindowsMinorVersion()
  47.  
  48.     IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  49.     i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  50.     END
  51.     END IF
  52.  
  53.     IF MajorVer% >= 4 THEN
  54.        i% = DoMsgBox("SPLICE! 2.0 does not currently run on the Chicago or Windows NT platforms.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  55.        END
  56.     END IF
  57.  
  58.     IF OnWindowsNT() THEN
  59.        i% = DoMsgBox("SPLICE! 2.0 does not currently run on the Chicago or Windows NT platforms.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  60.       END
  61.     END IF
  62.  
  63.     SetBitmap CUIDLL$, LOGO
  64.     SetTitle "SPLICE! 2.0 Setup"
  65.  
  66.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  67.     IF szInf$ = "" THEN
  68.        szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  69.     END IF
  70.     ReadInfFile szInf$
  71.  
  72.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  73.  
  74. WELCOME:
  75.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  76.     IF sz$ = "CONTINUE" THEN
  77.        UIPop 1
  78.      ELSE
  79.     GOSUB ASKQUIT
  80.     GOTO WELCOME
  81.     END IF
  82.  
  83. ''Prepare Copy list and check size
  84.  
  85. ASKDIR:
  86.     SetSymbolValue "EditTextIn", WINDRIVE$ + ":\SPLICE"
  87.     SetSymbolValue "EditFocus", "ALL"
  88.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", 0, "")
  89.     SpliceDir$ = GetSymbolValue("EditTextOut")
  90.     IF MID$(SpliceDir$, 1,1) = "\" THEN
  91.     SpliceDir$ = WINDRIVE$ + ":" + SpliceDir$
  92.     ELSEIF MID$(SpliceDir$, 2, 1) <> ":" THEN
  93.     SpliceDir$ = WINDRIVE$ + ":\" + SpliceDir$
  94.     ENDIF
  95.     Exist% = DoesDirExist(SpliceDir$)
  96.     IF Exist% = 0 THEN
  97.         CreateDir SpliceDir$, cmoNone
  98.         Exist% = DoesDirExist(SpliceDir$)
  99.         IF Exist% = 0 THEN
  100.             Msg$ = "The directory " + SpliceDir$ + "cannot be created."
  101.             Rtn% = DoMsgBox(Msg$, "Setup Error", 1)
  102.             IF Rtn% = 1 THEN
  103.             GOTO ASKDIR
  104.             END IF
  105.             GOTO ASKQUIT
  106.         END IF
  107.     END IF
  108.  
  109.            
  110. '' Clear dialogs
  111.     UIPopAll
  112.  
  113.     ClearCopyList
  114.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  115.     WinDir$ = GetWindowsDir()
  116.     DEST$ = GetWindowsDir()
  117.     WinSysDir$ = GetWindowsSysDir()
  118.  
  119. ''  Runtime files (on Windows disk)
  120.  
  121.     AddSectionFilesToCopyList "VfW Runtime", SrcDir$, WinSysDir$
  122.     AddSectionFilesToCopyList "OLE2", SrcDir$, WinSysDir$
  123.     AddSectionFilesToCopyList "ACM Drivers", SrcDir$, WinSysDir$
  124.     AddSectionFilesToCopyList "MPlayer", SrcDir$, WinDir$
  125.     AddSectionFilesToCopyList "AVICodecs", SrcDir$, WinSysDir$
  126.     AddSectionFilesToCopyList "Indeo-ini", SrcDir$, WinDir$
  127.     AddSectionFilesToCopyList "Splice", SrcDir$, SpliceDir$
  128.  
  129. ''  Check windrive diskspace
  130.     SizeReq& = GetCopyListCost ("","", "")
  131.     IF SizeReq& <> 0 THEN
  132.     GOSUB SMALLWIN
  133.     END
  134.     END IF
  135.  
  136. ''    ClearCopyList
  137.  
  138.     Install
  139.     
  140.     
  141.     CreateProgmanGroup "SPLICE! 2.0", "", cmoNone
  142.     SpliceCmd$ = MakePath(SpliceDir$, "SPLICE.EXE")
  143.     CaptureCmd$ = MakePath(SpliceDir$, "CAPTURE.EXE")
  144.     CreateProgmanItem "SPLICE! 2.0", "Splice!", SpliceCmd$, "", cmoOverwrite
  145.     CreateProgmanItem "SPLICE! 2.0", "Splice! Capture", CaptureCmd$, "", cmoOverwrite 
  146.  
  147.  
  148. '' Restart Windows: if it has to updates ACM from DOS, it restarts Windows automatically
  149. '' else, it gives the user the choice
  150.     RESTRT% = RestartListEmpty ()
  151.     Exe$ = DEST$ + "\_msrstrt.exe"
  152.     Batch$ = DEST$ + "\_mssetup.bat"
  153.     empty$ = ""
  154. RESTART:
  155.     IF RESTRT% = 0 THEN
  156.        sz$ = UIStartDlg(cuidll$, RESTART, "FInfo0DlgProc", 0, "")
  157.        IF sz$ = "REACTIVATE" THEN
  158.       GOTO RESTART
  159.        ENDIF
  160.        I% = ExitExecRestart ()
  161.        RemoveFile Exe$, cmoForce
  162.        RemoveFile Batch$, cmoForce
  163.        END
  164.     ELSE
  165.        sz$ = UIStartDlg(CUIDLL$, RESTARTII, "FQuitDlgProc", 0, "")
  166.        IF sz$ = "CONTINUE" THEN
  167.       I% = ExitWindowsExec (Exe$, empty$)
  168.       IF I% = 0 THEN
  169.          GOTO RESTART
  170.       ELSE
  171.          END
  172.      ENDIF
  173.        ELSEIF sz$ = "EXIT" THEN
  174.       UIPopAll
  175.       END
  176.        ELSEIF sz$ = "REACTIVATE" THEN
  177.       GOTO RESTART
  178.        ELSE
  179.       UIPop 1
  180.        END IF
  181.     END IF
  182.  
  183.  
  184. QUIT:
  185.     ON ERROR GOTO ERRQUIT
  186.  
  187.     IF ERR = 0 THEN
  188.     dlg% = EXITSUCCESS
  189.     ELSEIF ERR = STFQUIT THEN
  190.     dlg% = EXITQUIT
  191.     ELSE
  192.     dlg% = EXITFAILURE
  193.     END IF
  194. QUITL1:
  195.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  196.     IF sz$ = "REACTIVATE" THEN
  197.     GOTO QUITL1
  198.     END IF
  199.     UIPop 1
  200.     END
  201.  
  202. ERRQUIT:
  203.     i% = DoMsgBox("An installation problem occured.  Please call Digital Media technical support.", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  204.     END
  205.  
  206.  
  207. ASKQUIT:
  208.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  209.  
  210.     IF sz$ = "EXIT" THEN
  211.     UIPopAll
  212. ''        ERROR STFQUIT
  213.     END
  214.     ELSEIF sz$ = "REACTIVATE" THEN
  215.     GOTO ASKQUIT
  216.     ELSE
  217.     UIPop 1
  218.     END IF
  219.     RETURN
  220.  
  221. SMALLWIN:
  222.     sz$ = UIStartDlg(CUIDLL$, SMALLWIN, "FInfo0DlgProc", 0, "")
  223.     IF sz$ = "REACTIVATE" THEN
  224.     GOTO SMALLWIN
  225.     END IF
  226.     UIPop 1
  227.     RETURN
  228.  
  229. '**
  230. '** Purpose:
  231. '**     Performs all installation operations.
  232. '** Arguments:
  233. '**     none.
  234. '** Returns:
  235. '**     none.
  236. '*************************************************************************
  237. SUB Install STATIC
  238.  
  239.     SetRestartDir WinDir$
  240.     CopyFilesInCopyList
  241.  
  242. ''Updating WIN.INI and SYSTEM.INI
  243.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite
  244.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  245.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV31", "indeov.drv", cmoOverwrite
  246.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.YVU9", "indeov.drv", cmoOverwrite
  247.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MRLE", "msrle.drv", cmoOverwrite
  248.     CreateIniKeyValue WinDir$ + "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  249.     CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  250.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite
  251.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.msadpcm", "msadpcm.acm", cmoOverwrite
  252.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.imaadpcm", "imaadpcm.acm", cmoOverwrite
  253.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msacm.drv", "Microsoft Sound Mapper V2.00", cmoOverwrite
  254.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msadpcm.acm", "Microsoft ADPCM Codec V2.00", cmoOverwrite
  255.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "imaadpcm.acm", "Microsoft IMA ADPCM Codec V2.00", cmoOverwrite
  256.     I% = DoesIniKeyExist("system.ini", "Drivers", "VIDC.RT21")
  257.     IF I% = 0 THEN
  258.         CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "indeov.drv", cmoOverwrite
  259.     END IF
  260.     IF VflatdPresent() = 0 THEN
  261.        CreateSysIniKeyValue WinDir$ + "system.ini", "386Enh", "device", "dva.386", cmoOverwrite
  262.     END IF
  263.     Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
  264.     Run ("regedit.exe /s " + MakePath(WinSysDir$, "OLE2.reg"))
  265.     Run ("regedit.exe /s " + MakePath(WinSysDir$, "splice.reg"))
  266.     Run ("regedit.exe /s " + MakePath(WinSysDir$, "cleanup.reg"))
  267.  
  268.     CreateProgmanItem "Accessories", "Media Player", MakePath(WinDir$, "mplayer.exe"), "", cmoOverwrite
  269.  
  270.     Run ("profdisp.exe")   
  271.  
  272. END SUB
  273.  
  274. '**
  275. '** Purpose:
  276. '**     Appends a file name to the end of a directory path,
  277. '**     inserting a backslash character as needed.
  278. '** Arguments:
  279. '**     szDir$  - full directory path (with optional ending "\")
  280. '**     szFile$ - filename to append to directory
  281. '** Returns:
  282. '**     Resulting fully qualified path name.
  283. '*************************************************************************
  284. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  285.     IF szDir$ = "" THEN
  286.     MakePath = szFile$
  287.     ELSEIF szFile$ = "" THEN
  288.     MakePath = szDir$
  289.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  290.     MakePath = szDir$ + szFile$
  291.     ELSE
  292.     MakePath = szDir$ + "\" + szFile$
  293.     END IF
  294. END FUNCTION
  295.  
  296.